iT邦幫忙

2024 iThome 鐵人賽

DAY 5
0
自我挑戰組

ABAP 基礎30天學習筆記系列 第 5

Day05_ABAP的演進與語法特色+程式碼註解

  • 分享至 

  • xImage
  •  

原文連結:Understanding the Basics of ABAP

目標

  • 介紹ABAP的演進考古
  • 撰寫ABAP註解

ABAP演進

https://ithelp.ithome.com.tw/upload/images/20240901/20113802p0eQAbDBta.png

如Day1講到的,ABAP是個1980就出現的語言,主要在發展上有三個演變關鍵點,通常都跟當時主流語言的發展有關:

  1. 傳統ABAP:函數導向(FP)+陳述式(statement),當時主流有COBOL, PASCAL。
  2. ABAP 物件:物件導向(OOP)+陳述式(statement),當時主流有C++, JAVA。
  3. 現代ABAP:物件導向(OOP)+表達式(Expression),當時主流有C#, JAVA。

ABAP結合了以上特性,現在仍然可以寫傳統ABAP,但雲端環境通常會比較支援新式的寫法,就看專案的需求囉~

ABAP語言版本

https://ithelp.ithome.com.tw/upload/images/20240901/20113802C6lUvACBK8.png

ABAP程式通常可以分成三個版本,涵蓋範圍如上圖:

  1. Standard ABAP:語法涵蓋最完整。
  2. ABAP for Key Users:因應對不同用戶的安全性考量,部分的功能及元件存在限制,且無法使用Restful API。
  3. ABAP for Cloud Development:針對雲端環境的版本,對repository objects存在限制。

在本次學習中會用到的語法,基本上三個版本都可以運行,唯獨Restful API 不在ABAP for Key Users的支援範圍內。

ABAP雲端結構

https://ithelp.ithome.com.tw/upload/images/20240901/20113802jvPMnHlhfV.png

SAP的雲端生態系可以分成以下幾個主要的組成元素:

  • ABAP for Cloud Development:前述的ABAP雲端版本,包含了針對雲端優化及核心商業流程的語法。
  • ABAP Development Tools(ADT):就是第二天在Eclipse上安裝的ADT開發環境啦。
  • ABAP Core Data Services (CDS) :在資料庫內運作,幫助資料建模及分析的工具。
  • The ABAP RESTful Application Programming Model:用來提供不同的應用及服務。
  • Mandatory public SAP APIs and extension points:比較像SAP系統本身提供的固定API,常見有OData、SOAP及RFC,以及可以在SAP上附加自訂義擴展功能的接口。

總之,在雲架構出現後,官方都非常推崇無論是本來就在雲上的BTP跟S/4HANA Could,或者在本地跟私有雲的S/4HANA,都使用雲環境的架構來開發,以達成SAP 的Clean Core策略 - 用官方提供的規範,在最少修改下滿足自訂的擴展功能。

ABAP語法概述

幾個ABAP的特色:

  1. 同時混用陳述式與表達式,並以.結尾
  2. ABAP不區分大小寫
  3. 所有物件(變數)的型別都是靜態的,不會在執行過程改變
  4. ABAP中可使用SQL語法對資料庫進行存取

註:這節有個影片,有更詳細提及陳述式以及表達式的ABAP語法差異,有興趣的可以自己去SAP learning看。

來寫程式碼註解吧!

最後補充個如何在ABAP寫註解的小小tips:
https://ithelp.ithome.com.tw/upload/images/20240901/20113802VIEGV3uxoe.png

*星號:僅能放在該行程式的最開頭
"雙引號:可放在任何地方

明天來介紹ABAP的變數與資料型態!


上一篇
Day04_Hello World!
下一篇
Day06_變數與資料型態
系列文
ABAP 基礎30天學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言